Systems and methods for presenting end to end calls and associated information

ABSTRACT

Systems and methods that, among other things, analyze and monitor the performance of a call center including performance of the interactive voice response (IVR) systems, call center agents, and other components of the call center. The systems and methods record characteristics of the call such as the audio data, and analyze that record to identify the events and the actions that take place during the call. These events and actions may be defined as complex customer/call center interactions, such as dropped calls, logic errors or other event. A call center administrator may also identify a set of metrics, such as the number of dropped calls that occur during a day or for each agent, the number of times a client was left on hold for more than two minutes, or other such metrics that may be monitored by the systems described herein. The data collected about these events and the resulting metrics may be stored in a database and provided to a call center administrator through a user interface that allows the administrator to browse through the collected metric and recorded call data and directly review relevant portions of a call that are of interest to the administrator.

FIELD

The invention relates to a method and apparatus usable in connectionwith managing a call center and in particular to a computer-implementedmethod and apparatus permitting telephone call center personnel toidentify and listen to segments of recorded customer calls that containevents of interest.

BACKGROUND

Many businesses and organizations provide call centers in which aplurality of personnel answer calls, such as telephone calls or otherinquiries, e.g. from customers or potential customers. Call centersserve a number of functions including facilitating the placement oforders for goods or services, providing information about products orthe status of orders, receiving customer complaints or suggestions,dispensing product or technical information to assist customers inselecting or using products or services and the like. Call centers areimportant departments for many of these businesses and the success ofthe business often turns, at least in part, on the efficient handling ofcustomer inquiries coming in through the company call center. As such,call center managers are constantly looking for ways to improve centerperformance.

Unfortunately, call center managers and decision makers in call centerslack adequate information. Standard interactive voice responseperformance reports do not capture information on usability and lacksufficient detail. Call center managers are often misled to believe thatthe existing IVR is performing well. Even if they recognize thatsomething is wrong, they cannot identify the specific problems, muchless how to remedy them. Without understanding the value of usabilityand its impact on the business, IVR usability engineering is rarelytaken seriously.

Usability design and reengineering know-how for IVRs range from styleguides for touch tone IVRs (Hallstad-Nussloch, 1989) to comprehensivecollections of best practices for IVR design (Resnick and Virzi, 1995),which also cover state-of-the-art speech enabled IVRs (Valentine andMorgan, 1999). While applying best practices can often improve IVRusability, the measurement and validation of those improvements can bequite difficult, especially in the context of a production IVR with manydifferent tasks and a wide range of callers. When IVR design methodsyield different plausible designs, it is often impossible to decidewhich design works best just by applying guidelines without some form ofempirical evaluation.

Thus, there exists a need for systems that allow call centeradministrators to determine more effectively the cause and source oferrors and inefficiencies.

SUMMARY OF THE INVENTION

Systems and methods that, among other things, analyze and monitor theperformance of a call center including performance of the interactivevoice response (IVR) systems, call center agents, and other componentsof the call center. The systems and methods record end to endcharacteristics of the call such as the audio data, and analyze thatrecord to identify the events and the actions that take place during thecall. These events and actions may be defined as complex customer/callcenter interactions, such as dropped calls, logic errors or otherevents, such as touch tone presses or prompt plays. A call centeradministrator may also identify a set of metrics, such as the number ofdropped calls that occur during a day or for each agent, the number oftimes a client was left on hold for more than two minutes, or other suchmetrics that may be monitored by the systems described herein. The datacollected about these events and the resulting metrics may be stored ina database and provided to a call center administrator through a userinterface that allows the administrator to browse through the collectedmetric and recorded call data and directly review relevant portions of acall that are of interest to the administrator.

More particularly, the methods described herein include, among otherthings, a method for generating an annotated log of a call, comprisingconnecting into a call by coupling into a circuit on the telephonenetwork, recording an audio record of the call, identifying a set ofevents and associating with each event an audio waveform representativeof an occurrence of the event, performing a call analysis to identifywithin the audio record occurrences of one or more of the identifiedevents, and associating with the audio record with an indicatorrepresentative of an occurrence of an identified event within the audiorecord. Optionally, the methods may further comprise generating a reportrepresentative of the events that occurred during the call, andproviding a user interface for allowing a user to select an event andthe associated call and to playback a portion of the call related to theevent, the portion occurring between the marked beginning and end of theevent.

In a further optional embodiment, the reports may be generated of theevents occurring during a call for a plurality of calls incoming to acall center, and a database made that is representative of manyannotated calls. The generated reports may be provided by a browseableuser interface for displaying information representative of audiorecords of calls stored in the database and for displaying theinformation as an active link to the annotated record of the respectivecall.

When connecting into a call the systems and methods may forward a callto a recording server having a switch for forwarding the call to adestination, or hook into an observation port provided by telephonyequipment at the call center. When recording the call, the methods mayrecord an audio record, including recording voice signals and DTMF tonesgenerated in response to an interactive voice response system. Therecorded waveforms may be stored digital representations of the audio.The methods can optionally, generate a graphic display representative ofthe recorded audio and a set of graphical markers indicating thelocation of an event within the recorded audio. The recorded audio maybe analyzed and to that end the method may identify a waveformrepresentative of an event, including identifying an audio signalrepresentative of the event and storing characteristics of the audiosignal. The method may compare stored characteristics of a first audiosignal with stored characteristics of a second audio signal to determinea difference for distinguishing between the stored characteristics. Inone practice, identifying a waveform includes identifying a compoundsignal that has at least a first audio component as well as a secondaudio component, whereby an event is identified by determining theoccurrence in the audio record of both the first and the second audiocomponents. When performing a call analysis, the method may correlate anaudio waveform of the recorded call to a waveform representative of anevent to determine the presence and location of the event within therecorded call. Optionally, the method may annotate a recorded call withmarkers representative of CTI signals. Marking an audio record mayinclude marking a graphic representation of the audio record, and addingan audio cue to the audio record.

In certain optional practices, the methods described herein includeallowing a user to define an event and to identify a patterncharacteristic of the event occurring within a recorded call, andallowing a user to add an annotation to a recorded call. The methods mayfurther allow the user to set up an alert triggered as a function of theevents occurring in one or more recorded calls. The events selected bythe user may include an IVR prompt, a broadcast of music, an elevatedvolume, silence, a touch tone entry, an agent talking, a change ofspeaker, identification of a which speaker is active, a change of topic,identification of a topic, or a transcript of the words spoken. Themethod may generate a record representative of identified events thatoccurred over a plurality of recorded calls. From the monitored callsand measured performance metrics, the processes may allow changes to thecall center operations, including altering an IVR process in response toan analysis of a recorded call.

In another aspect, the invention provides systems for generating anannotated log of a call. These systems may comprise a switch forconnecting into a call by coupling into a circuit on the telephonenetwork, a recorder, coupled to the switch and capable of recording anaudio record of the call, an event database having stored therein a setof events and associated audio waveforms representative of the event,and a call analyzer for identifying within the audio record anoccurrence of one or more of the identified events, and for associatingwith the audio record an indicator representative of an occurrence of anidentified event within the audio record. Optionally, the systems mayalso include a report generator for generating a report representativeof the events that occurred during the call, and providing a userinterface for allowing a user to select an event and the associated calland to playback a portion of the call related to the event, the portionoccurring between the marked beginning and end of the event. Thesesystems may be realized as systems or tool kits for allowing a callcenter administrator to generate an annotated log of a call. Suchsystems may comprise a data recorder capable of coupling to a switch andcapable of recording an audio record of the call, an events databasehaving stored therein one or more event representative of patterns thatmay occur within a recorded audio record and for storing associatedaudio waveforms representative of the event, a user interface forallowing a user to select a performance metric representative of ameasure of usability for a call center and to associate with theperformance metric one or more of the stored events, a call analyzer foridentifying within the audio record an occurrence of one or more of theidentified events, and for associating with the audio record anindicator representative of an occurrence of an identified event withinthe audio record, and a report generator for generating a reportrepresentative of the events that occurred during the call, andproviding a user interface for allowing a user to select an event andthe associated call and to playback a portion of the call related to theevent, the portion occurring between the marked beginning and end of theevent.

BRIEF DESCRIPTION OF THE FIGURES

The foregoing and other objects and advantages of the invention will beappreciated more fully from the following further description thereof,with reference to the accompanying drawings, wherein like referencenumbers unless otherwise indicated refer to like elements.

FIG. 1 depicts a system architecture for one system according to theinvention;

FIG. 2 is a state diagram depicting the database pipeline for generatingannotated records of recorded calls;

FIG. 3 depicts a flow chart diagram of one process for creating adatabase suitable for use with the system depicted in FIG. 1;

FIG. 4 depicts a flow chart diagram of one process for establishingidentifiable characteristics of an event that may occur within arecorded call;

FIG. 5 depicts a data flow diagram of one process for analyzing an audiorecord to identify events occurring within that audio record;

FIG. 6 depicts a user interface providing a view of data maintained bythe system depicted in FIG. 1;

FIG. 7 depicts a sorting function provided by the user interfacedepicted in FIG. 6.

FIG. 8 presents an example of a sorting function wherein data is sortedaccording to information stored within an hour field presented to auser/analyst;

FIG. 9 depicts a selected dataset generated by using the sortingfunctions depicted in FIGS. 6-8;

FIG. 10 depicts a user interface for allowing an analyst to browsethrough details of calls recorded and analyzed by the system depicted inFIG. 1;

FIG. 11 illustrates a user interface having a sorting function forsorting through the call details presented to the user;

FIG. 12 depicts a user interface presenting a graphical depiction of adigital waveform representative of an audio call recorded by the systemand annotated by the system to identify events occurring within thedepicted audio record; and

FIG. 13 depicts an expanded view of the section of the recorded call ofinterest to the analyst along with annotations made by the system andmarked on the audio record for use by the analyst.

DETAILED DESCRIPTION

To provide an overall understanding of the invention, certainillustrative embodiments will now be described. However, it will beunderstood by one of ordinary skill in the art that the systems andmethods described herein can be adapted and modified for other suitableapplications and that such other additions and modifications will notdepart from the scope hereof.

The systems and methods described herein include, among other things,systems and methods to analyze and monitor the performance of a callcenter including performance of the interactive voice response (IVR)systems, call center agents, and other components of the call center. Tothis end, the systems and methods record a call preferably from end toend, or at least characteristics of the call such as the audio data, andanalyze that record to identify the events and the actions that takeplace during the call. These events and actions may be defined ascomplex customer/call center interactions, such as dropped calls, logicerrors or angry exchanges. A call center administrator may also identifya set of metrics, such as the number of dropped calls that occur duringa day or for each agent, the number of times a client was left on holdfor more than two minutes, or other such metrics that may be monitoredby the systems described herein. The data collected about these eventsand the resulting metrics may be stored in a database and provided to acall center administrator through a user interface that allows theadministrator to browse through the collected metric data and directlyreview relevant portions of a call that are of interest to theadministrator. This allows the administrator to identify quickly anddirectly the portions of calls that effect metrics established at thecall center for providing the desired or established level of service.

More particularly, FIG. 1 depicts the system architecture of one systemcapable of allowing a call center administrator to set metrics ofperformance, measure the metrics by recording call data, and analyzeevents that result in the call center failing to meet the establishedmetrics. The analysis may be achieved by finding a specific call or setof calls that gave way, at least in part, to below par performance, andallowing the administrator to access an audio record associated withthat call; the record being annotated to show the occurrence of eventsof interest and allowing the administrator to go directly to the portionof the record that is of interest. To this end, FIG. 1 depicts anarchitecture of the system 10 including customer calling equipment 12,the telephone network 14, call center telephone equipment 18, atelephone network interface 20, an audio recorder 22, an analystworkstation 28, a data processor 30, a database 32, a databasecontroller, such as a RAID controller 34, an optional firewall device38, a web server 40, an annotated call database 42, a firewall 44 and aclient analyst workstation 48.

The architecture of the system 10 depicted in FIG. 1 shows anarchitecture for a call center monitoring system that hooks into thetelephone network to allow the monitoring system to connect into atelephone call occurring between a customer using the customer equipment12 and the call center using the call center telephone equipment 18. Tothis end, the architecture 10 illustrates that a customer using theequipment 12 can call in through the telephone network 14 to the callcenter equipment 18. Typically, the client telephony equipment comprisesa telephone handset, a mobile phone, or some other kind of equipmentthat transfers voice signals and audio signals over the telephone switchnetwork 14. However, in alternate embodiments the systems and methodsdescribed herein may be modified to include gateways that allow thesystem to monitor calls that are occurring from customer equipment thatmight include VoIP telephony equipment, as well as data transmissiondevices, including video devices, such as computer work stations thatallow the transfer of data over a network such as an IP data network.

In a typical situation the customer uses the telephony equipment 12 tocall in through the network 14 to the call center 18. The call center 18depicted in FIG. 1 is a conventional call center of the type thattypically includes some interactive voice response (IVR) equipment thatcan use voice signals and audio instructions to prompt the customer andsolicit certain information that might be helpful in answering any querythat the customer may have. The call center 18 may also include aplurality of call agents typically being individuals sitting at a bankof phones and answering the phone calls as customers call in to askquestions of their account or warranties, or to ask for user support.Thus, the call center typically is some combination of IVR systems alongwith live agents networked together to provide a customer with thesupport they need.

In operating a call center, customer service efficiency is paramount.The call center wants to handle each call efficiently and accurately forthe purposes of providing customers with the best call center experiencepossible as well as to provide the most efficient and cost effectiveservice to that customer. In light of this, the call center typicallyhas an administrator or several administrators that monitor theperformance of the call center to make sure each customer experience isacceptable and to ensure that the systems and agents working at the callcenter are performing at an acceptable level of efficiency. To that end,call center administrators commonly listen in to the dialog between acustomer calling in from equipment 12 to the call center 18. Theadministrators typically employ data recorders that couple into the callcenter equipment 18 and record at least portions of the conversationthat a customer may have with a live agent as well as information aboutthe performance of the IVR system.

In the system depicted in FIG. 1, the monitoring system is outside ofthe call center equipment 18 and includes a data converger 20 that hooksthe monitoring system into the telephone network 14. In practice, thetelephone company identifies incoming calls to the call center equipment18 and routes or switches the call to the converger 20. That converger20 grabs the call and begins recording the call with data recorder 22and at the same time forwards the call back to the telephone network 14to be switched through to the call center equipment 18. In this way, thecustomer has a complete circuit from their equipment 12 to the callcenter 18, with this circuit passing through the data converger 20. Assuch, the system shown in FIG. 1 connects into the call by coupling intoa circuit on the telephone network wherein that circuit carries audiosignals between the customer's equipment and the call center equipment18. In other embodiments, the system may record a call by tapping intoan observation port provided by the call center equipment 18, or may userecordings made on the call center premises with an audio recording onthe trunk side or agent side of call center switch equipment, such as anACD. However, it will be understood that the systems and methodsdescribed herein may use any suitable technique for recording a call andthat the technique used will depend at least in part on the applicationand the equipment and resources available.

In the embodiment depicted in FIG. 1, the converger 20 can be anysuitable converger of the type commonly employed for hooking into orconnecting into a telephone call. In one embodiment depicted, theconverger is a DirectTalk IVR platform programmed to dial into the callcenter and connect the caller's line to the line into the call center,however any suitable telephony equipment that allows for connecting intoa call may be employed with the systems and methods described herein.Additionally, in those embodiments where the customer may be usingtelephony equipment 12 in combination with data equipment (not shown)such as a desktop workstation coupled to an IP network, the system shownin FIG. 1 may also include a data logger that receives copies of datatransmissions sent from the customer's data equipment to the receivingdata equipment at the call center site. Techniques for rerouting, orsending copies, of data packets over a network are well known in the artand any suitable technique may be employed without departing from thescope of the invention.

The recorder 22 connects to the converger 20, and the recorder 22creates a digital record of the call. In one embodiment, the datarecorder 22 is a conventional recorder of the type manufactured and soldby the Stancil Company. This recorder 22 will generate a digitalrepresentation of the audio wave form of the call, capturing thecustomer's voice signals, voice signals from a live agent at the callcenter 18, or at any other call center to which the customer isforwarded during the course of the call, as well as for capturing audiosignals and digital tones generated by the client's telephony equipment12, or generated by the IVR equipment that is part of the call centerequipment 18 depicted in FIG. 1. Additionally and optionally, the systemmay include a recorder that records CTI signals, notes and actions takenby a live call agent or any other information that may be helpful to thecall center administrator. Thus the depicted recorder 22 recordscharacteristics of the call from end to end. The actual characteristicsrecorded may vary according to the application and the equipmentavailable. In some embodiments, the recorder 22 will record the audiowaveform of the call, however in other embodiments the recorder 22 mayonly record touch tones, volume, frequency ranges, power bands, or otherfeatures of the call. In any case, the recorder 22 will record thosecharacteristics of the call that may be used to identify whether theevents of interest have occurred during the call, and to providecharacteristics, like frequency patterns, that may be used to identifythe location of the event with record. For purposes of illustration andclarity the systems and methods of the invention will now be describedwith reference to a system that records the audio waveform of the callfrom end to end, however, this is merely provided as an example and isnot to be deemed limiting in any way.

As shown in FIG. 1, the recorder 22 couples to the network 24. The datarecorder 22 windows data to the RAID database 32. The database 32 isinitially provided by the data recorder 22 with the raw audio datastored in a digital format suitable for signal processing by the dataprocessor 30. Once the call has ended, the converger 20 can identify thesignal indicating end of call and send an instruction to the recorder 22to terminate recording and to mark end of call. This information may bestored within the database 32. Once the call has ended, eitherimmediately after the call or at some time later during a batch process,the recorded audio record of the call from the beginning of the call tothe end of the call may be analyzed by the data processor 30. Thedepicted database 32 can be any suitable database system, including thecommercially available Microsoft Access database, and can be a local ordistributed database system. The design and development of suitabledatabase systems are described in McGovern et al., A Guide To Sybase andSQL Server, Addison-Wesley (1993). The database 32 can be supported byany suitable persistent data memory, such as a hard disk drive, thedepicted RAID system, tape drive system, floppy diskette, or any othersuitable system. The system depicted in FIG. 1 includes a databasedevice 32 that is separate from the workstation platform 34, however, itwill be understood by those of ordinary skill in the art that in otherembodiments the database device 32 can be integrated into the system 34.

The data processor 30 may be a stack of Linux data processors capable ofanalyzing the audio records stored in the database 32 to identify withinthe audio records occurrences of one or more identified events thatoccurred during the recorded call. The depicted data processor 30 may bea conventional data processing platform such as an IBM PC-compatiblecomputer running the Linux or Windows operating systems, or a SUNworkstation running a Unix operating system. Alternatively, the dataprocessor may comprise a processing system that includes an embeddedprogrammable data processing system. Such an embedded processing systemmay be integrated, usually at the board level, into the telephonyequipment of the converger 20, the call center equipment 18, into thePSTN equipment, or at some other point within the system depicted inFIG. 1. For example, the data processing system can comprise a singleboard computer system that has been integrated into a system forperforming audio record processing to identify events within the audiorecord generated by the recorder 22. The single board computer (SBC)system can be any suitable SBC, including the SBCs sold by the Micro/SysCompany, which include microprocessors, data memory and program memory,as well as expandable bus configurations and an on-board operatingsystem. The data processor 30 may perform a signal processing operationthat identifies the occurrence of an event within the audio record. Inone embodiment, a set of events has been defined, and audio wave formshave been associated with these events. Thus, an event such as a beingon hold may be associated with an audio wave form or a class of audiowave forms that correlate to the hold music played by the call centerequipment 18. In a later call analysis step, the data processor 30 mayapply a correlator process that correlates the audio record with theaudio wave form associated with the hold music, in those cases where theuser is trying to determine whether a hold event occurred. The processfor generating audio wave forms to associate with an event, as well ascorrelation processes suitable for use with the data processor 30 areknown in the art, and described in Oppenheim et al., Digital SignalProcessing Prentice-Hall (1975), the contents being incorporated byreference.

Turning to FIG. 2, there is depicted a database pipeline process 50 forprocessing the data stored within database 32 to mark the audio recordsstored within the database 32 with indicators that are representative ofan occurrence of an identified event within a respective audio record.The indicator may be a tag stored in a field in a database, and used toindicate the presence and location of an event in an associated record.As shown in FIG. 1, the analyzed and marked audio records may bereturned to the database 32 for storing, until it is time to generate adatabase that may be used for providing a data report to the call centeradministrator. In any case, FIG. 2 depicts one process by which the dataprocessor 30 may create the database of marked audio records, however,any suitable process may be used for marking a record or otherwiseassociating the occurrence of an event within an audio record.

In particular, FIG. 2 depicts a process 50 that includes an analysisconfiguration step 52, a record end to-end step 54, an event detectionstep 58, an analyze data and generate metrics step 60 and an alertgeneration step 62. Also shown in FIG. 2 is that the process 50 may feedinformation into the database 32 which is accessible by a computerprogram to generate browseable data that a call center manager mayemploy to evaluate the design and performance of a call center.

As shown in FIG. 2, the process 50 includes an analysis configurationstep 52. In this step, the process 50 configures the analysis that willbe performed on the audio records created by the recorder 22 shown inFIG. 1. More particularly, in step 52 the events that will be identifiedwithin the audio record are selected, generated and stored to provide aset of patterns or pattern sequences that the process 50 may search forwithin the stored audio records.

To this end, the configuration process may include a step of identifyinga series of events that are of interest. Typically these are significantevents that can happen within a call and more typically for the systemsand methods described herein the events being identified in step 52relate to occurrences within a caller/call center dialogue that arerelevant to performance metrics of interest to the call centeradministrator. However, the events selected will depend upon theapplication being addressed and any suitable event may be identified andselected for use by the process 50. Typical examples of significantevents that can occur within a recorded call include events that mayoccur during the IVR-caller dialogue, such as system prompts and callerinput, touch tone or speech, or other similar events. Also the eventsselected in step 52 may include events that occur during an agent/callerdialogue such as the exchange of various kinds information, for exampleaccount numbers, or dollar amounts, description of reasons for the call,such as questions about a bill or inquiries about a product, andcompletion of a transaction such as by making payment arrangements orordering a product.

The events selected in step 52 lead to an understanding of call centerperformance, as that performance may be measured and quantified bysystem metrics set by the call center administrator. In this way, thecall center administrator can develop a set of metrics that helpquantify the usability and effectiveness of the call center. Thisinformation can supplement the standard interactive voice responseperformance reports that do not capture information on usability andthat lack meaningful information as to the system level cause ofusability problems. Thus, the event detected herein, along with therecord of the event that may be later reviewed, allows a call centeradministrator to identify the specific problem, and develop a remedy.

FIG. 4 illustrates one process 100 for selecting and characterizing anevent. In the example shown in FIG. 4, the system 50 is being configuredin step 52 to detect a dropped call event. A dropped call event may beunderstood as the unintended termination of a call into the call center.The call center administrator may set a metric of less than five droppedcalls per day for the center. To monitor this metric, the system isconfigured to detect dropped calls within the recorded calls stored inthe database 32. Thus, in step 102, the call administrator selectsdropped calls as an event of interest.

To identify a dropped call event, the process 100 models the actionsthat characterize the dropped call event and associate thosecharacteristics with data that can be found within the record, in thisexample an audio record, of the call. In step 104, the process 100identifies characteristic of a dropped call in general. Thesecharacteristics can include an interaction wherein a caller responds toa prompt from an IVR system by entering one or more DTMF tones,expecting that the IVR system will respond to the tones by providingadditional information for taking an action like transferring the callerto a live agent. In the dropped call scenario, a logic error may exist,such that in response to detecting the DMTF tones, the IVR systemdisconnects the caller and ends the call. This event may, in some cases,result in the audio record including the sound of a dial tone. Thus, instep 104, the process 100 determines a set of characteristics that maybe associated with a dropped call event, preferably identifyingcharacteristics that may be found within the audio record of the call.In those embodiments where the record includes other recordedcharacteristics of the call, such as CTI signals, the characteristicsselected in step 104, may also include these features.

After step 104, the process 100 proceeds to step 108 where the processin this example identifies audio patterns that represent the above notedcharacteristics of a series of DTMF tones and the subsequent occurrenceof a dial tone. In this way, the process 100 may include the probablesequence of patterns that, in combination and/or in sequence, identifythe event. In the example depicted in FIG. 4, the process step 108identifies a set of audio patterns that may be associated with the tonesthat will identify the characteristics selected in step 104.

In step 110 an optional procedure takes place, where the patterngenerated in step 108 is compared to other patterns already beingemployed by the system. This reduces the likelihood that events will befalsely detected or confused with other events, when the audio record isanalyzed. If the generated pattern is sufficiently unique, then thepattern is stored in step 112. Alternatively, the process 100 may returnto step 108, and generate a new pattern that may be tested in step 110.

Thus, FIG. 4 illustrates that once the events of interest are selected,the process 100 identifies characteristics that are representative ofeach selected event and are associated with that event so that a patternof information representative of the event is created for use by theprocess. Examples of such characteristics may be audio waveformsrepresentative of speech, audio waveforms representative of music, audiospectra representative of silence, as well as characteristic powerbands, volume bands, and frequency bands that may be used to identifytouch tones, raised voices, or other events.

Additionally, when identifying an event of interest, the analysisconfiguration step 52 may include and store information that isrepresentative of probable events and the sequences of those eventswhich can be representative of a higher level event of interest. Such anexample is the dropped call event discussed above. Thus, returning toFIG. 2, in step 52 the user may identify a dropped call as an event ofinterest, the user may also establish the metric of five dropped callsper day as representative of acceptable call center performance. Theseevents and the associated identifiable characteristics of that event maybe stored in a table such as Table 1, which may be stored in a databaseand subsequently used during the process 50 to determine whether adropped call occurred during a particular caller-call center dialogue.

TABLE 1 Event Name Characteristics Waveform Dropped Call DMTF andsubsequent dial tone Pointer to waveform file

After the analysis configuration step 52, the process 50 may in step 54begin recording calls coming to the call center. As described above withreference to FIG. 1, a recording device 22 may be employed to record acall from end to end so that a complete record of the audio waveform iscaptured and stored. As shown in FIG. 2, the process 50 in step 54records the call from end to end and as each call is completed the callmay be stored as an audio record within database 32. In step 58 theprocess 50 may access one or more of the audio records stored withindatabase 32 and begin a detect event operation.

In this step, the process 50 can access an event and the characteristicsassociated with that event which were developed during the analysisconfiguration step 52 and pass through an audio record to determinewhich, if any, of the events of interest can be found within the audiorecord. FIG. 5 depicts pictorially one example of a process for findingan event within an audio record. Specifically, FIG. 5 depicts a waveformpattern 120 that is stored within database 32 and associated with anevent of interest, such as a dropped call event. That waveform may becorrelated with the audio record waveform 122 and the correlation output124 may indicate the presence as well as the location marks 126 of thatevent within the audio record 122.

As the events are found within the audio record, the process 50 in step58 can mark the audio record with indicators that represent theoccurrence of a particular event within that audio record. In this way,the process 50 annotates the audio record with data that isrepresentative of the events that occurred during the call as well asthe location within the call when the event occurred. This isillustrated in FIG. 2 by showing the process step 58 as storinginformation within the database 32. The information stored during step58 will typically be the result of the event detection process which caninclude a list of those events which were found within a particular calland a location of those events within that call. This information may bestored along with the associated audio record that was analyzed indatabase 32 and used subsequently in step 60 during an analysis step. Inthis analysis step 60 the audio records as well as the events identifiedwithin those audio records may be processed to determine metrics earlierestablished by the call center administrator. For example the callcenter administrator may set a metric such as a maximum number ofdropped calls to occur per day. Thus, in step 60 the process 50 cananalyze the data stored within database 32 to determine the number ofdropped call events that actually occurred for a particular day. Thisinformation can be organized and stored within the database 32.

As further shown in FIG. 2 the information stored in database 32 may beemployed in step 62 to generate an alert to a call center administratorif a performance metric of interest is not being met or for any reasonthe call center administrator chooses to set the alert flag.Additionally, FIG. 2 depicts that the information stored in database 32may be organized into a format suitable for display, typically over aweb browser such as the depicted browser 64.

FIGS. 6-13 depict a user interface providing a view of data maintainedby the system shown in FIG. 1.

More particularly, FIG. 6 depicts one example of a user interface thatdisplays call data to a user, such as a call center administrator oranalyst. The user interface depicted in FIG. 6 is a web interface of thetype that may be generated by a web server such as the web server 40depicted in FIG. 1. Accordingly, in this embodiment, the system depictedin FIG. 1 employs the web server 40 and associated database 42 to serveweb pages to an analyst at work station 48 so that the analyst can parsethrough call data to determine the efficiency and usability of the callcenter.

FIG. 6 depicts a user interface that includes a data view 130 that ispresented as a table having a number of fields 132A-132E. The userinterface further includes a control element 134 that allows the user todirect the web server 40 to generate an alternate view that includesdetailed information of the calls displayed in the data view 130.

In the data view 130 the data is organized in fields that include aDialed Number Field 132A, a Date field 132B, a Day field 13C, and Hoursof operation field 132D and a Call Number field 132E. The first linedepicted in data view 130 includes a dialed number field that includesthe dialed number 1-800-633-2273. This field 132A indicates the numberat the call center that the customer reached. The fields 132B and 132Cindicate the date and field 132D indicates whether the call came induring a time when the call center was opened or closed. Field 132Eindicates the number of calls that came in on that dialed number duringthat day and during those hours.

FIG. 7 depicts that the data in the data view 130 is sortable. In theembodiment depicted in FIG. 7 the fields 132A-132E are each presented inthe user interface as a header which is an active link to a control theuser can activate for sorting the data. In particular, FIG. 7illustrates that the dialed number field 132A is presented under aheader labeled DNIS that is also an active link that allows the user tochoose among several options for sorting through the data presented inthe data view 130. And as shown in FIG. 7 the user is presented withseveral options including sorting the data in an ascending order,selecting only those entries that are associated with the dialed number1-800-633-2273 or 2274, or on some other characteristic of the data. Inthe example presented in FIGS. 6-13, the data in the data view 130 willbe sorted to select only the call data stored in database 42 that isassociated with dialed number ex. 2273.

FIG. 8 illustrates this sorting operation by showing the data view 130in a changed state wherein only calls associated with dialed number 2273are presented. FIG. 8 further depicts that the field 132D may beemployed to sort the data based on various characteristics. In thisexample, the data is sorted so that only calls that came in during hourswhen the call center was closed are presented in the data view. Thisalternate view is illustrated in FIG. 9. FIG. 9 illustrates that bysorting through the data presented initially to the user, the user isable to identify those calls coming in on a certain dialed number thatcame into the call center after hours of operation. The call centeradministrator can use this information to determine the number of callsthat actually come in after hours and then make an informed decisionwhether the hours of operation should be extended, the IVR system shouldbe altered to more effectively or differently handle customers callingafter hours, to determine whether there is a typical source of theseafter hours calls and other such information. Thus, in one aspect itwill be understood that the systems and methods described herein allowthe call center administrator to identify a set of metrics that providemeaningful measurements of call center's performance and/or usability.This allow the administrator to recognize that something is wrong and toidentify, or at least more easily identify, the specific problems andremedies.

In the example depicted, the call center administrator may set metricsdesigned to determine how effective the call center is in meeting theneeds of customers for flexible user support. In the process of FIGS.6-13, the call center administrator may identify a set of metricsrepresentative of whether the call center is sufficiently supportingcustomers, particularly those calling in during evening hours. In thisparticular example, the call center administrator is identifying metricsfor determining whether the call center gives sufficient support toafter business hours callers. These metrics can include, whether thecall came into the call center after hours, and whether calls afterhours are directed to topics that the 24 hour IVR service can address.They can include more complex metrics as well, including whether anafter hours caller terminated the call as soon as they realized thatlive agents were not available.

To monitor these metrics, the call center administrator identifies anevent, or series of events, such as an incoming call that occurs afterbusiness hours of the call center. These events may be detected andanalyzed to determine values for the metrics of interest to the callcenter administrator. Thus, as described above, the call centeradministrator may identify a metric related to the number of droppedcalls that occur at the call center. In selecting to establish a metricfor the number of dropped calls, the call administrator may alsoidentify a series of events that represent a dropped call anddistinguish, or substantially distinguish, a dropped call from avoluntary call termination.

In the embodiment depicted in FIGS. 6-13, the call center administratoridentifies a set of events that provide information and data formeasuring the metrics of interest. In doing this, the call centeradministrator may examine the operation and business processes of thecenter and define business hours of the call center as those hours ofoperation of the call center when live agents are available to answercalls. The call center may provide 24 hour IVR support, but the callcenter administrator define those hours of operation lacking live agentsupport and having only IVR support as “closed”. Other events ofinterest may be whether the caller disconnected from the call beforecompleting and IVR exchange, or whether the caller disconnected afterhearing a recorded call indicating that no live agents were available atthis hour. In any case, the call center administrator, or analyst, mayselect on or more events that may be detected within the audio recordand that provide information relevant to the metrics being analyzed.

In one embodiment, the systems and methods described herein provide atoolkit that allows the call center administrator or the analyst todefine metrics of interest and to associate one or more events or asequence of events with that metric. To this end, the system may providea user interface, such as a web interface that can receive input fromthe administrator or analyst so that the analysts may define a metricand then associate events with that metric. For example, in one practicethe system may provide a user interface that allows a user to identifyas a metric the maximum number of dropped calls that are allowed at thecenter per day. The user interface allows the administrator/analyst todesignate a label—such as a dropped call—for the metric, set a numericvalue, such as a maximum or a minimum, and associate with thatdesignated label a sequence of events, where each event is representedas an identifiable characteristic of an audio record. The identifiablecharacteristic may be a set of frequencies associated with a dial tone,with a caller's voice, or with an IVR prompt. In alternate embodiments,the system may include a language model for doing topic recognition, ormay include a behavioral model to determine the type of conversationtaking place between the caller and the call center.

In one embodiment, the system includes a toolkit software program forallowing a call center administrator to establish a metric and associateone or more events with the established metric. For example, the systemmay provide a web based user interface that provides an HTML page to thecall center administrator having fields that allow the administrator toenter a label for the metric being established. The user interface mayfurther provide a set of fields or drop down dialog boxes that listevents known to the system and available to the administrator toassociate with the metric. The user can select the events to associatewith the metric and the system will build a data model to define themetric for the system. The defined metrics, and optionally one or moreof the events associated with metric may be displayed to the user aspart of the user interface. For example, in FIGS. 6-13, the userinterfaces include field codes that may present event or metric data tothe call center administrator. The fields may be generated by a reportgenerator of the type capable of generating web pages containinginformation and links, such as hypertext links, to information ofinterest. The report generator may create a browseable user interfacethat displays information representative of audio records of callsstored in the database and present active links, such as text linksrepresenting field names or call records, that can access scripts toperform functions like sorting or editing, or that includes links to theannotated record of the respective call. Other functions andcapabilities may be provided within the browseable report, and theseadditional features are known to those of skill in the art. As will bedescribed in below, the metric and event data may be analyzed by theuser, including allowing the user to select audio records associatedwith events and metrics and performing a play back operation that allowsthe administrator to playback sections of the audio record that aredirectly related to events and metrics of interest.

The control 134 allows the user to review detailed information for eachof the calls in the data set depicted in data view 130 of FIG. 9. FIG.10 illustrates the expanded details that are provided in this alternatedata view. The details in FIG. 10 can include several fields 142Athrough 142K. The fields in this case can also include events that weredetected during the course of a call. This is illustrated in FIG. 10 byfields 142H and 142I that indicate certain touchtone keys were detected(142H), and certain prompts were detected (142I). The data in theexample presented in FIG. 140 indicates that the majority of callscoming in after hours were related to billing matters as indicated bythe prompt field 142I. This user interface provides a report of theevents occurring during a respective one of the calls coming in to thecall center. The report may be generated by a back end process operatingon the web server 40 and accessing the database 42 that stores theplural annotated calls generated by the system. This information canhelp the call center administrator understand that the IVR systememployed at the call center is to provide efficient service to customersafter hours and is best suited to this by addressing billing inquiriesthat come in after hours of operation for the call center.

FIG. 11 illustrates that the call center administrator can sort on thevarious fields 142A through 142I. And in particular the hours field 142Eis shown as an active control that the user can activate to receive anumber of options for sorting the data presented in data view 140. FIG.12 depicts that the user interface can provide detailed information ofthe record of each call, including the audio record. To this end, eachof the entrees presented in the data view 140 of FIG. 11 and FIG. 10 maybe understood as active links, typically hypertext links that providecontrols to the web server 40 indicating a request for a web page thatincludes detailed information, including annotated wave forminformation, for the call associated with the respective link. FIG. 12depicts an example of one such annotated record. The record 150 depictedin FIG. 12 includes a complete audio wave form for the call from end toend. This is presented in the wave form window 152. Below the wave formwindow 152 is the annotation window 154 that includes the annotationsindicating different events which were detected within the call. Theseevents can include the main menu prompt presented by the IVR equipmentto the customer, prompts indicating requests for orders, transfers orother information. In the embodiment depicted in FIG. 12 the userinterface 150 includes a set of controls 156 that allow theadministrator to playback the audio associated with the wave form 152.In the embodiment depicted in FIG. 12 the cool edit program is employedto generate a wave form and the necessary controls to go ahead and playthat wave form back to the call center administrator. This allows thecall center administrator to hear the actual audio of what occurredduring the call between the customer and the call center equipment 18.In the example depicted in FIG. 12 the majority of the events occurredduring the first minute of the customer's call. The user interface inthis embodiment allows the call administrator to select that portion ofthe audio record that appears most relevant and expanded. This isillustrated in FIG. 13 which shows and expanded view of the first minutethat occurs during the call. It further shows that the annotation window154 is similarly expanded and the events detected within the audiorecord are marked at the beginning of each of the events.

The user interface depicted in FIGS. 6-13 may be implemented by thesystem depicted in FIG. 1 that comprises a computer network and webserver 40 system for supporting an interface and a report generatorsystem as described herein. Each analyst can use a client station, suchas the depicted client station 48. Each of the client stations 48 can bea conventional personal computer system, such as a PC compatiblecomputer system that is equipped with a client process that can operateas a browser, such as the Netscape browser program that allows theclient station to download computer files, such as web pages, from theserver 40. In one embodiment, the web server 40 is configured as aconventional web server and the server 40 supports a backend processcapable of accessing data from the database 42 and generating web pagesusing the accessed data that may be served to the client station 48. TheHTTP server process can be any suitable server process including theApache server. Suitable servers are known in the art and backendprocesses of the type that may be used with the server 40 can bedeveloped following well known principles in the art, including thosedescribed in Jamsa, Internet Programming, Jamsa Press (1995), ordescribed in Graham, HTML Sourcebook, Wiley Computer Publishing (1997)the teachings of which are herein incorporated by reference.

As discussed above, the call center monitoring and performance measuringsystem described above may be realized as a software component operatingon a conventional data processing system such as a Unix workstation orset of workstations. In this embodiment, the call center monitoring andperformance measuring system may be implemented as a C language computerprogram, or a computer program written in any high level languageincluding C++, Fortran, Java or BASIC. Additionally, in an embodimentwhere microcontrollers or DSPs are employed, the call center monitoringand performance measuring system may be realized as a computer programwritten in microcode or written in a high level language and compileddown to microcode that can be executed on the platform employed. Thedevelopment of such systems is known to those of skill in the art, andsuch techniques are set forth in Digital Signal Processing Applicationswith the TMS320 Family, Volumes I, II, and III, Texas Instruments(1990). Additionally, general techniques for high level programming areknown, and set forth in, for example, Stephen G. Kochan, Programming inC, Hayden Publishing (1983). It is noted that DSPs are particularlysuited for implementing signal processing functions, includingpreprocessing functions such as image enhancement through adjustments incontrast, edge definition and brightness. Developing code for the DSPand microcontroller systems follows from principles well known in theart.

Those skilled in the art will know or be able to ascertain using no morethan routine experimentation, many equivalents to the embodiments andpractices described herein. For example, the systems described hereinmay monitor multiple call centers, using metrics that allow forcomparing separate independent call centers. In such embodiments, thesystem may hook into calls coming into multiple separate call centers,and record and analyze the calls. The user may establish a set ofmetrics and each call center may have its performance analyzed againstthese metrics. The reports generated can compare a center's performance,to the performance of other centers, as well as the mean performance ingeneral as well as for call centers of similar size and performingsimilar operations. Accordingly, it will be understood that theinvention is not to be limited to the embodiments disclosed herein, butis to be understood from the following claims, which are to beinterpreted as broadly as allowed under the law.

1. A method for generating an annotated log of a call, comprising:connecting into a call by coupling into a circuit on the telephonenetwork, recording an audio record of the call, performing a callanalysis of the audio record to identify occurrences of events includedin a predetermined set of events within the audio record, and generatinga browseable user interface that includes a timeline of the call and theidentified events that occurred during the call, wherein the userinterface is configured such that selection by a user of an indicatedoccurrence or a position on the timeline via the user interface causesthe user interface to audibly output a portion of the audio record ofthe call that is associated with the selected occurrence or that beginsat the selected position on the timeline.
 2. A method according to claim1, further comprising generating, in the browseable user interface, aplurality of reports of events occurring during a plurality of callsincoming to a call center, annotating the plurality of calls, andgenerating a database representative of the plurality of annotatedcalls.
 3. A method according to claim 2, wherein generating the reportsinclude displaying, in the browseable user interface, informationrepresentative of the plurality of annotated calls, wherein theinformation is displayed as active links to respective calls of theplurality of annotated calls.
 4. A method according to claim 1, whereinconnecting into a call includes forwarding a call to a recording serverhaving a switch for forwarding the call to a destination.
 5. A methodaccording to claim 4, wherein recording an audio record includesrecording voice signals and DTMF tones generated in response to aninteractive voice response system.
 6. A method according to claim 1,wherein recording an audio record includes storing a digitalrepresentation of an audio waveform.
 7. A method according to claim 1,further comprising generating a set of graphical markers associated withthe timeline indicating the location of the identified events within thecall.
 8. A method according to claim 1, further comprising identifying awaveform representative of at least one event of the predetermined setof events.
 9. A method according to claim 8, wherein identifying awaveform includes identifying an audio signal representative of theevent and storing characteristics of the audio signal.
 10. A methodaccording to claim 9, further comprising comparing storedcharacteristics of a first audio signal with stored characteristics of asecond audio signal to determine a difference for distinguishing betweenthe stored characteristics.
 11. A method according to claim 8, whereinidentifying a waveform includes identifying a compound signal having atleast a first audio component and a second audio component, whereby anevent is identified by determining the occurrence in the audio record ofthe first and the second audio component.
 12. A method according toclaim 8, wherein performing a call analysis includes correlating anaudio waveform of the recorded call to a waveform representative of anevent in the predetermined set of events to determine the presence andlocation of the event within the recorded call.
 13. A method accordingto claim 12, wherein performing a call analysis further comprisesannotating a recorded call with markers representative of CTI signals.14. A method according to claim 9, further comprising allowing a user toadd an event to the predetermined set of events and to identify apattern characteristic of the added event occurring within the recordedcall.
 15. A method according to claim 8, further comprising allowing auser to add an annotation to the recorded call.
 16. A method accordingto claim 1, further comprising allowing the user to set up an alerttriggered as a function of the occurrences of events in the recordedcalls.
 17. A method according to claim 1, wherein the predetermined setof events includes an event selected from the group consisting of an IVRprompt, a broadcast of music, an elevated volume, silence, a touch toneentry, an agent talking, a change of speaker, identification of a whichspeaker is active, a change of topic, identification of a topic, or atranscript of the words spoken.
 18. A method according to claim 1,further comprising generating a record representative of identifiedevents occurring over a plurality of recorded calls.
 19. A methodaccording to claim 1, further comprising altering an IVR process inresponse to the analysis of the recorded call.
 20. A method according toclaim 1, further comprising associating, with the audio record, anindicator that is representative of one of the occurrences of eventswithin the audio record, wherein associating comprises an operationselected from the group consisting of marking the audio record, markinga graphic representation of the audio record, and adding an audio cue tothe audio record.
 21. A system for generating an annotated log of acall, comprising a switch for connecting into a call by coupling into acircuit on the telephone network, a recorder, coupled to the switch andcapable of recording an audio record of the call, a call analyzer foridentifying, within the audio record, occurrences of one or more eventsincluded in a predetermined set of events, and a browseable userinterface generator for generating a browseable user interface thatincludes a timeline of the call and the identified events that occurredduring the call, wherein the user interface is configured such thatselection by a user of an indicated occurrence or a position on thetimeline via the user interface causes the user interface to audiblyoutput a portion of the audio record of the call that is associated withthe selected occurrence or that begins at the selected position on thetimeline.
 22. A system according to claim 21, wherein the portionaudibly output occurs between a beginning and end of the selectedoccurrence.
 23. A system for allowing a call center administrator togenerate an annotated log of a call, comprising a data recorder capableof coupling to a switch and capable of recording an audio record of thecall, an events database having stored therein one or more events thatare representative of patterns that may occur within the recorded audiorecord and for storing associated audio waveforms representative of theone or more events, a call analyzer for identifying within the audiorecord an occurrence of one or more events included in the one or morestored events, and a report generator for generating a reportrepresentative of events that occurred during the call and other calls,and a browseable user interface for: allowing a user to select aperformance metric representative of a measure of usability for a callcenter and to associate the one or more stored events with theperformance metric, displaying the generated report, and allowing theuser to select an event and an associated call in the displayed reportto playback a portion of the associated call related to the selectedevent, the portion occurring between a beginning and end of the selectedevent.
 24. A method according to claim 1, wherein the browseable userinterface is further configured such that selecting a position on thetimeline comprises selecting a position in a graphic waveformrepresentation of the audio record.
 25. A system according to claim 21,wherein the browseable user interface is further configured such thatselecting a position on the timeline comprises selecting a position in agraphic waveform representation of the audio record.